package com.vhall.component.entity.gift.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * GiftBindRoomVO-
 *
 * @author xing.wang
 * @date 2022/10/10
 */
@Data
public class GiftBindRoomVO implements Serializable {
    /**
     * PAAS直播房间id
     * lss_b7763asd
     */
    @ParamName("room_id")
    @NotBlank(message = "房间id不能为空")
    private String roomId;
    /**
     * 关联表情id列表
     */
    @ParamName("gift_ids")
    private List<Integer> giftIds;

//  应该拆分为两个接口分别实现的,但为了对齐php方面的设计,按照php方面的实现通过参数进行判定
//  当前考虑进度不能直接拆分,维持接口相同
//  推荐把这拆分成两个接口,绑定表情到房间和设置表情刷新频率
    /**
     * 用于标识是否做了关联表情的修改
     * 0-否，1-是
     */
    @ParamName("change_list")
    @Range(min = 0, max = 1, message = "只能为0或者1")
    private Integer changeList;
    /**
     * 刷新频率
     */
    @ParamName("gift_frequency")
    @Range(min = 0, max = 1000, message = "限制频率最大为1000秒,最小为0")
    private Integer giftFrequency;
    /**
     * 用户令牌
     */
    @NotBlank(message = "用户登录令牌不能为空")
    private String token;
}
